#pragma once

#include <vector>
#include <glm/glm.hpp>
#include "component.h"

namespace teflon
{
    class Actor
    {
    private:
        // every actor has position (transform component)
        glm::vec3 position;

    public:
        Actor();

        void AddComponent(Component* comp);
        void RemoveComponent(Component* comp);

        void Update(float delta_t);
        virtual void Render() const {}

    private:
        std::vector<Component*> components;
    };
}
